package top.byteio.common.s3.utils;

import top.byteio.common.s3.exception.S3FileTypeException;

/**
 * Storage文件工具类
 * <br>
 * 仅能用于{@link top.byteio.common.s3.pojo.Storage}操作
 * @author lerry
 */
public final class StorageUtils {

    /**
     *
     * @param key 存储对象唯一文件名
     * @return java.lang.String 文件类型
     * @throws   S3FileTypeException 文件类型无法解析
     * @author lerryxia
     **/
    public static String getObjectType(String key) {
        int lasted = key.lastIndexOf(".");
        if (lasted != -1 && lasted + 1 < key.length()) {
            return key.substring(lasted + 1);
        }
        throw  new S3FileTypeException("文件类型无法解析");
    }

    /**
     *  获取对象键名的前缀路径
     * @param key 存储对象唯一文件名
     * @return java.lang.String
     * @author lerryxia
     **/
    public static String getObjectPrefix(String key) {
        if (key == null) {
            return "";
        }
        int lasted = key.lastIndexOf("/");
        if (lasted != -1) {
            return key.substring(0, lasted);
        }
        return "";
    }
}
